package object01;

/**
 * @author shkstart
 * @date 2022/4/20 - 13:13
 */
/*
 * 一、Java面向对象学习的三条主线：（第4-6章）
 * 1.Java类及类的成员：属性、方法、构造器；内部类、代码块。
 *
 * 2.面向对象的三大特征：封装性、继承性、多态性、（抽象性）
 *
 * 3.其它关键字：this、super、static、final、abstract、interface、package、import等
 *
 * “大处着眼，小处着手”
 *
 *
 *  *
 * 二、“人把大象装进冰箱”
 *
 * 1.面向过程：强调的是功能行为，以函数为最小单位，考虑怎么做。
 *
 * ① 把冰箱门打开
 * ② 抬起大象，塞进冰箱
 * ② 把冰箱门关闭
 *
 * 2.面向对象：强调具备了功能的对象，以类/对象为最小单位，考虑谁来做。 //需明确一个语段中的类如 我 大象 冰箱
 *
 * 人{
 * 		打开(冰箱){
 * 			冰箱.开开();
 * 		}
 *
 * 		抬起(大象){
 * 			大象.进入(冰箱);
 * 		}
 *
 * 		关闭(冰箱){
 * 			冰箱.闭合();
 * 		}
 *
 * }
 *
 *
 * 冰箱{
 * 		开开(){}
 * 		闭合(){}
 * }
 *
 * 大象{
 * 		进入(冰箱){
 * 		}
 * }
 *
 *  如企业 ： 一开始 企业中有5，6人，就随便那个人都可以执行这些工作量，但当
 *            企业人数到500或更多，如果还是按照无规则哪些人都可以做就乱套了
 *            如五六百人在执行面向过程一般（无规则，谁都可以做一般）。所以这时需要面向对象来区分这些人
 *            的职位，让他们在各自的类中，如开发部，审核部，咨询部....等等
 *            然后需要的时候调用一下这个部门即可。要添加职责时也直接在对应
 *            的类中加。所以面向对象中的类构建完成后，就不需要重新组织一遍
 *            数据已经存档。
 *
 *            然而面向过程就需要从函数各个方面再搞（面向过程
 *            还需深入了解，以后再来解释说明吧）
 *
 * 三、面向对象的两个要素：
 * 类：对一类事物的描述，是抽象的、概念上的定义
 * 对象：是实际存在的该类事物的每个个体，因而也称为实例(instance)
 * >面向对象程序设计的重点是类的设计
 * >设计类，就是设计类的成员。
 *                 类如一个定义好的模型，你可以给模型增加各种属性，方法
 *                 对象就是复制那个类的各种特性
 *                 如假设世界上有最完美的马，是看不见摸不着的，存在我们模糊的思维世界里
 *                 世界上真实的，可以摸到的马就是以这个完美的马为基础的创造出的对象，
 *
 */
public class OOPTest {
}
